package pe.edu.upc.dew.Grupo1.service;

import java.util.List;

import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

import pe.edu.upc.dew.Grupo1.dao.FuncionDao;
import pe.edu.upc.dew.Grupo1.model.Funcion;

public class FuncionServiceImpl implements FuncionService {
	private FuncionDao funcionDao;

	public void setFuncionDao(FuncionDao funcionDao) {
		this.funcionDao = funcionDao;
	}
	
	public FuncionServiceImpl() {
	}

	/* (non-Javadoc)
	 * @see pe.edu.upc.dew.Grupo1.service.FuncionService#GetConteoFunciones()
	 */
	@Override
	public int GetConteoFunciones() {
		return funcionDao.getConteoFunciones();
	}

	/* (non-Javadoc)
	 * @see pe.edu.upc.dew.Grupo1.service.FuncionService#InsertFuncion(pe.edu.upc.dew.Grupo1.model.Funcion)
	 */
	@Override
	public void InsertFuncion(Funcion funcion) {
		funcionDao.insert(funcion);

	}

	/* (non-Javadoc)
	 * @see pe.edu.upc.dew.Grupo1.service.FuncionService#GetFuncionPorCodigo(pe.edu.upc.dew.Grupo1.model.Funcion)
	 */
	@Override
	public Funcion GetFuncionPorCodigo(Funcion funcion) {
		return funcionDao.getFuncionPorCodigo(funcion.getCodigoFuncion());
	}

	/* (non-Javadoc)
	 * @see pe.edu.upc.dew.Grupo1.service.FuncionService#UpdateFuncionPorCodigo(pe.edu.upc.dew.Grupo1.model.Funcion)
	 */
	@Override
	public void UpdateFuncionPorCodigo(Funcion funcion) {
		funcionDao.updatePorCodigo(funcion);
	}

	/* (non-Javadoc)
	 * @see pe.edu.upc.dew.Grupo1.service.FuncionService#DeleteFuncionPorCodigo(pe.edu.upc.dew.Grupo1.model.Funcion)
	 */
	@Override
	public void DeleteFuncionPorCodigo(Funcion funcion) {
		funcionDao.deleteFuncionPorCodigo(funcion.getCodigoFuncion());

	}

	/* (non-Javadoc)
	 * @see pe.edu.upc.dew.Grupo1.service.FuncionService#GetFuncionesPorPelicula(pe.edu.upc.dew.Grupo1.model.Funcion)
	 */
	@Override
	public List<Funcion> GetFuncionesPorPelicula(Funcion funcion) {
		return funcionDao.getFuncionesPorPelicula(funcion.getCodigoFuncion());
	}
}
